/**
 * 功能：逆序打印输入字符，递归方式
 * 
 * 作者：hellobei
 * 
 * 日期：2019-10-30
 * 
 * 参考：http://akaedu.github.io/book/ch12s02.html
 */

#include <stdio.h>

#define LEN 3

char buff[LEN] = {'a', 'b', 'c'};

void print_back(int pos)
{
    if (pos == LEN)
        return;

    /* 注意：
        pos+1
        不可以用pos++，这样相当于pos=0无限循环。
        也不可以用++pos，这样当从print_back(3)返回print_back(2)时，pos=3. 最后print_back(1)返回print_back(0)时，pos=1.
    */
    print_back(pos + 1);

    putchar(buff[pos]);
    return;
}

int main()
{
    print_back(0);
    putchar('\n');

    return 0;
}